From: Florian Müllner Date: Fri, 29 May 2020 19:51:14 +0000 (+0200) Subject: notificationDaemon: Try harder to find a matching app X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~323 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b487846c0a161643b048618a44dbc395c23cb44c;p=gnome-shell.git notificationDaemon: Try harder to find a matching app Unlike the desktop-entry hint, the app name is not optional. That doesn't mean that we'll be able to match it to a .desktop file, but we can at least try if we fail to match on PID or desktop-entry. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1291 --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 28fe8ba06..3c8e90b1e 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -373,12 +373,11 @@ var FdoNotificationDaemonSource = GObject.registerClass( class FdoNotificationDaemonSource extends MessageTray.Source { _init(title, pid, sender, appId) { this.pid = pid; + this.initialTitle = title; this.app = this._getApp(appId); super._init(title); - this.initialTitle = title; - if (this.app) this.title = this.app.get_name(); else @@ -426,19 +425,20 @@ class FdoNotificationDaemonSource extends MessageTray.Source { } _getApp(appId) { + const appSys = Shell.AppSystem.get_default(); let app; app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid); if (app != null) return app; - if (appId) { - app = Shell.AppSystem.get_default().lookup_app('%s.desktop'.format(appId)); - if (app != null) - return app; - } + if (appId) + app = appSys.lookup_app('%s.desktop'.format(appId)); - return null; + if (!app) + app = appSys.lookup_app('%s.desktop'.format(this.initialTitle)); + + return app; } setTitle(title) {